Unix Diablo I Starcraft Warcraft II Server
UNIX configuration for Diablo I, StarCraft, and WarCraft II: BNE Servers What you need to configure *bnetd.conf *address_translation.conf *versioncheck.conf *autoupdate.conf (optional) *Router / Firewall *Game Data Port (optional) Edit bnetd.conf Open the /etc/bnetd.conf file in your preferred editor (I’ll use vi or vim, a text based editor): root@mybox# cd /etc/ root@mybox# vi bnetd.conf After opening the file in the editor, search for the client verification and upgrades section and look for the following line: allowed_clients = all Now you must setup your own options for the clients you will allow to connect to your server: allowed_clients = drtl,star,sexp,w2bn Edit address_translation.conf Open the /etc/address_translation.conf file in your preferred editor (I’ll use vi or vim, a text based editor): root@mybox# cd /etc/ root@mybox# vi address_translation.conf After opening the file in the editor, search for the Game Translations for clients/games (client data ports) section. Look for the following line: #192.168.1.10:6112 1.2.3.4:6118 192.168.1.0/24,10.0.0.0/8 ANY Now you must uncomment the line by deleting the # and enter your LAN IP Address of Gaming Computer, Internet IP Address, and your LAN Subnet. (Lets say your Internet IP is 74.22.125.199 and your LAN IP for the Gaming Computer is 192.168.1.2): 192.168.1.2:16112 74.22.125.199:16112 192.168.1.0/24 ANY If you have more than one Gaming Computer on the LAN, you will need to create a new entry for each computer with a unique port. Edit versioncheck.conf Open the /etc/versioncheck.conf file in your preferred editor. (I’ll use vi or vim, a text based editor): root@mybox# cd /etc/ root@mybox# vi versioncheck.conf After opening the file in the editor, search for the -=- Latest Versions -=- No Update Required -=- section. Look for the following entries: # Starcraft - Broodwar (Expansion) 1.16.1 - (Broodwar mode) "A=2521522835 B=3428392135 C=218673704 4 A=A^S B=B-C C=C+A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ SEXP \ "StarCraft.exe 01/09/09 22:57:43 1220608" \ 0x000000d3 \ 1.16.1.1 \ 0x0a85372d \ SEXP_1161 # Starcraft - Broodwar (Expansion) 1.16.1 - (Starcraft mode) "A=2521522835 B=3428392135 C=218673704 4 A=A^S B=B-C C=C+A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ STAR \ "StarCraft.exe 01/09/09 22:57:43 1220608" \ 0x000000d3 \ 1.16.1.1 \ 0x0a85372d \ STAR_1161 # Starcraft (Standalone) 1.16.1 "A=2521522835 B=3428392135 C=218673704 4 A=A^S B=B-C C=C+A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ STAR \ "StarCraft.exe 01/08/09 05:23:44 1220608" \ 0x000000d3 \ 1.16.1.0 \ 0x02623d85 \ STAR_1161 Next search for the -=- Older Versions -=- Update Required -=- section. Look for the following entries: # Diablo (original) entries # Diablo 109b "A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ DRTL \ "Diablo.exe 05/18/01 23:10:57 757760" \ 0x0000002a \ 1.0.9.2 \ 0x23135c73 \ DRTL_109B # Diablo 109 "A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ DRTL \ "Diablo.exe 05/12/01 00:53:17 757760" \ 0x0000002a \ 1.0.9.1 \ 0x0dcb0513 \ DRTL_109 # WARCRAFT2 BNE # Warcraft II BNE 2.02b "A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \ "ver-ix86-1.mpq" \ IX86 \ W2BN \ "Warcraft II BNE.exe 05/21/01 21:52:22 712704" \ 0x0000004f \ 2.0.2.1 \ 0xff0d4c4a \ W2BN_202B If those entries exist, then you have the current version checks for these games. You can customize this to allow only certain versions of these games to connect to your server. Do this by removing the version check entries for the version you don't want to connect to your server. Download the latest versioncheck.conf if you don't have those entires. root@mybox# cd /etc/ root@mybox# wget http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/pvpgn/pvpgn/conf/versioncheck.conf Edit autoupdate.conf (optional) Open the /etc/autoupdate.conf file in your preferred editor. ( I’ll use vi or vim, a text based editor ): root@mybox# cd /etc/ root@mybox# vi autoupdate.conf After opening the file in the editor, search for the StarCraft Expansion (Brood War) section. Look for the following entries: # = StarCraft Expansion (Brood War) = #IX86 SEXP SEXP_104 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_104_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_105 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_105_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_106 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_106_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_107 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_107_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_108 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_108_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_108B SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_108B_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_109 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_109_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_110 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_110_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_111 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_111_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_111B SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_111B_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_112 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_112_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_112B SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_112B_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113 SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113B SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_113B_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113C SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_113C_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113D SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_113D_STAR SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_113E SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_113E SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_114 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_114 SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_115 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_115 SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_1151 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_1151 SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_1152 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_1152 SEXP_IX86_1xx_1161.mpq #IX86 SEXP SEXP_1153 SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_1153 SEXP_IX86_1xx_1161.mpq # Incremental update from version 1.16 #IX86 SEXP SEXP_116 SEXP_IX86_116_1161.mpq #IX86 STAR SEXP_116 SEXP_IX86_116_1161.mpq # The next one is a Brood War wildcard entry. #IX86 SEXP SEXP_1xx SEXP_IX86_1xx_1161.mpq #IX86 STAR SEXP_1xx SEXP_IX86_1xx_1161.mpq Now you must uncomment the line by deleting the # from every line: = StarCraft Expansion (Brood War) = IX86 SEXP SEXP_104 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_104_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_105 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_105_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_106 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_106_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_107 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_107_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_108 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_108_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_108B SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_108B_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_109 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_109_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_110 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_110_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_111 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_111_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_111B SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_111B_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_112 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_112_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_112B SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_112B_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113 SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113B SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_113B_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113C SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_113C_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113D SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_113D_STAR SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_113E SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_113E SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_114 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_114 SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_115 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_115 SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_1151 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_1151 SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_1152 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_1152 SEXP_IX86_1xx_1161.mpq IX86 SEXP SEXP_1153 SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_1153 SEXP_IX86_1xx_1161.mpq Incremental update from version 1.16 IX86 SEXP SEXP_116 SEXP_IX86_116_1161.mpq IX86 STAR SEXP_116 SEXP_IX86_116_1161.mpq The next one is a Brood War wildcard entry. IX86 SEXP SEXP_1xx SEXP_IX86_1xx_1161.mpq IX86 STAR SEXP_1xx SEXP_IX86_1xx_1161.mpq Next do the same with the StarCraft (original), Diablo (original), and Warcraft II BNE sections. After the autoupdate.conf has been configured, you will need to download the update files. The bnftp utility is what we'll use to download the update files: root@mybox# cd /var/files/ root@mybox# bnftp --client=DRTL --arch=IX86 --file=DRTL_IX86_100_109.mpq uswest.battle.net 6112 root@mybox# bnftp --client=DRTL --arch=IX86 --file=DRTL_IX86_108_109.mpq uswest.battle.net 6112 root@mybox# bnftp --client=SEXP --arch=IX86 --file=SEXP_IX86_1xx_1161.mpq uswest.battle.net 6112 root@mybox# bnftp --client=SEXP --arch=IX86 --file=SEXP_IX86_116_1161.mpq uswest.battle.net 6112 root@mybox# bnftp --client=STAR --arch=IX86 --file=STAR_IX86_1xx_1161.mpq uswest.battle.net 6112 root@mybox# bnftp --client=STAR --arch=IX86 --file=STAR_IX86_116_1161.mpq uswest.battle.net 6112 root@mybox# bnftp --client=W2BN --arch=IX86 --file=W2BN_IX86_200_202.mpq uswest.battle.net 6112 root@mybox# bnftp --client=W2BN --arch=IX86 --file=W2BN_IX86_201_202.mpq uswest.battle.net 6112 Configure Router / Firewall You will need to forward port 6112 to your pvpgn server, and forward port 16112 to your Gaming Computer. Also ensure these ports are allowed through any firewall(s) on the applicable computer(s). Configure Game Data Port (optional) To play these games on the same LAN as the pvpgn server, you will need to change the port that these games use, since PvPGN is already the default port (6112). Change the Game Port to the unique port you specified in the address_translation.conf. *click Start --> Run --> regedit *Ok After opening the Registry Editor, browse to HKEY_CURRENT_USER\Software\Battle.net. *click on Configuration *right-click on the right half of the window and create a new DWORD value *name the new DWORD value Game Data Port *right-click on Game Data Port value and select Modify *enter 16112 and select Decimal Category:Configuration